package modules.cas.singleton2;

/**
 * 单例模式 - 饿汉式
 *     构造方法私有，private。保证内存中只有一个对象。
 *     一上来，把这里面的全部都加载出来，在没有使用这个对象，对象就已经存在，浪费空间。
 * @author shengren.yan
 * @create 2021-04-11
 */
public class Singleton1 {

    // 可能会浪费空间
    private byte[] data1=new byte[1024*1024];
    private byte[] data2=new byte[1024*1024];
    private byte[] data3=new byte[1024*1024];
    private byte[] data4=new byte[1024*1024];


    private Singleton1(){
    }

    // new 对象在外面 - 懒汉式在方法里
    private final static Singleton1 hungry = new Singleton1();

    public static Singleton1 getInstance(){
        return hungry;
    }

}
